Passaggio alla visione artificiale
Oggi passiamo dal trattamento di dati semplici e strutturati utilizzando layer lineari base al fronteggiamento di dati immagine ad alta dimensione. Un'immagine a colori introduce una complessità significativa che le architetture standard non riescono a gestire in modo efficiente. Il deep learning per la visione richiede un approccio specializzato: il Reti neurali convoluzionali (CNN).
1. Perché falliscono le reti completamente connesse (FCN)
In una FCN, ogni pixel di input deve essere collegato a ogni neurone nel livello successivo. Per immagini ad alta risoluzione, ciò causa un'esplodere computazionale, rendendo l'addestramento impossibile e la generalizzazione scarsa a causa di un overfitting estremo.
- Dimensione dell'input:Un'immagine RGB standard $224 \times 224$ genera $150.528$ caratteristiche di input ($224 \times 224 \times 3$).
- Dimensione del livello nascosto: Se il primo livello nascosto utilizza 1.024 neuroni.
- Parametri totali (Livello 1): $\approx 154$ milioni di pesi ($150.528 \times 1024$) solo per il primo blocco di connessioni, richiedendo memoria e tempo di calcolo massivi.
La soluzione CNN
Le CNN risolvono il problema di scalabilità delle FCN sfruttando la struttura spaziale delle immagini. Identificano pattern (come bordi o curve) usando filtri piccoli, riducendo il numero di parametri di diversi ordini di grandezza e promuovendo la robustezza.
TERMINALEbash — model-env
> Pronto. Clicca su "Esegui" per eseguire.
>
ISPEZIONATORE DI EFFICIENZA DEI PARAMETRI In diretta
Esegui il confronto per visualizzare il conteggio dei parametri.
Domanda 1
Qual è il principale vantaggio dell'utilizzo di Campi receptivi locali nelle CNN?
Domanda 2
Se un filtro $3 \times 3$ viene applicato su tutta l'immagine, quale concetto fondamentale delle CNN viene utilizzato?
Domanda 3
Quale componente delle CNN è responsabile della riduzione progressiva delle dimensioni spaziali (larghezza e altezza) delle mappe di caratteristiche?
Sfida: Identificare i componenti chiave delle CNN
Collega i meccanismi delle CNN ai loro benefici funzionali.
Dobbiamo costruire un modello di visione altamente efficiente nei parametri e in grado di riconoscere un oggetto anche se si sposta leggermente nella foto.
Passo 1
Quale meccanismo garantisce che la rete possa identificare una caratteristica (come una linea diagonale) indipendentemente dalla sua posizione nel quadro?
Soluzione:
Pesi condivisi. Usando lo stesso filtro in tutte le posizioni, la rete apprende l'invarianza traslazionale.
Pesi condivisi. Usando lo stesso filtro in tutte le posizioni, la rete apprende l'invarianza traslazionale.
Passo 2
Quale scelta architetturale permette a una CNN di rilevare caratteristiche con meno parametri rispetto a una FCN?
Soluzione:
Campi receptivi locali (o connettività scarsa). Invece di collegarsi a ogni pixel, ogni neurone si collega solo a una piccola regione locale dell'input.
Campi receptivi locali (o connettività scarsa). Invece di collegarsi a ogni pixel, ogni neurone si collega solo a una piccola regione locale dell'input.
Passo 3
Come la struttura CNN porta all'apprendimento gerarchico delle caratteristiche (ad esempio, bordi $\to$ angoli $\to$ oggetti)?
Soluzione:
Livelli impilati. I primi livelli imparano caratteristiche semplici (bordi) tramite convoluzione. I livelli più profondi combinano gli output dei livelli precedenti per formare caratteristiche complesse e astratte (oggetti).
Livelli impilati. I primi livelli imparano caratteristiche semplici (bordi) tramite convoluzione. I livelli più profondi combinano gli output dei livelli precedenti per formare caratteristiche complesse e astratte (oggetti).